package com.gemantic.task.dao.repository;

import java.util.Date;
import java.util.List;

import com.gemantic.task.dto.TaskQueryReqDto;
import com.gemantic.task.dto.TaskQueryRespDto;
import com.gemantic.task.model.Task;


public interface TaskRepository extends BaseTaskRepository<Task> {

    List<Task> getActiveTasks(int total, int slice, Integer priority, int moreThanHour, int delayMinute, int selectLimit, Boolean withPending);

    Task updateTask(Task task);

    List<Task> getOpenTask();

    void closeTask(String orderNo, String taskType, String remark);

    List<Task> getOpenTaskByOrder(String orderNo, String taskType);

    Task getTaskById(long taskId);

    TaskQueryRespDto getTasks(TaskQueryReqDto reqDto);

    void batchUpdate(Date nextRunTime, String status, List<Long> tasks);


    Task modifyTaskFromUI(Task task);

    List<Task> getAllTaskByOrder(String orderNo, String taskType);
}
